package main

import (
	"flag"
	"gitee.com/gopher2011/godemo/cmd"
	"gitee.com/gopher2011/godemo/config"
	"gitee.com/gopher2011/godemo/global"
	"gitee.com/gopher2011/godemo/logger"
	"github.com/robfig/cron"
	"time"
)

var (
	embedIndexing = flag.Bool("embed_indexing", false, "是否嵌入 indexer 的功能，默认否")
	embedCrawler  = flag.Bool("embed_crawler", false, "是否嵌入 crawler 的功能，默认否")
	syncAllGCTT   = flag.Bool("sync_gctt", false, "是否全量同步 GCTT PR 一次")
)

// 后台运行任务
func BackGroundServer() {
	// 初始化七牛云存储

	if *embedIndexing {
		cmd.Index()
	}
	if *embedCrawler {
		cmd.Crawl()
	}

	// 常驻内存的数据
	go loadData()

	// 开启定时任务
	c := cron.New()

	if config.Config.MustBool("global", "is_master", false) {
		// 每天对非活跃用户降频
		// 添加定时任务
		c.AddFunc("@daily", decreaseUserActiveWeight)

		// 生成阅读排行榜
		c.AddFunc("@daily", genViewRank)

		if global.OnlineEnv() {
			// 每天生成sitemap文件
			c.AddFunc("@daily")

			// 给用户发邮件,如通知网站最近的动态,每周的晨读汇总登陆
			c.AddFunc()
		}
	}

}

func loadData() {

}

// 减少用户活跃权重
func decreaseUserActiveWeight() {
	logger.Debugln("start decrease user active weight ...")
	startTime := time.Now().Add(-72 * time.Hour)

}
